<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>gimpimageundo: GIMP 3 Library Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="GIMP 3 Library Reference Manual">
<link rel="up" href="libgimp-image.html" title="Manipulating Images and their Properties">
<link rel="prev" href="libgimp3-gimpimagetransform.html" title="gimpimagetransform">
<link rel="next" href="libgimp3-gimpmetadata.html" title="gimpmetadata">
<meta name="generator" content="GTK-Doc V1.33.0 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
                  <a href="#libgimp3-gimpimageundo.description" class="shortcut">Description</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="libgimp-image.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="libgimp3-gimpimagetransform.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="libgimp3-gimpmetadata.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="libgimp3-gimpimageundo"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="libgimp3-gimpimageundo.top_of_page"></a>gimpimageundo</span></h2>
<p>gimpimageundo — Control of image undo/redo.</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="libgimp3-gimpimageundo.functions"></a><h2>Functions</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_proto_type">
<col class="functions_proto_name">
</colgroup>
<tbody>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="libgimp3-gimpimageundo.html#gimp-image-undo-group-start" title="gimp_image_undo_group_start ()">gimp_image_undo_group_start</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="libgimp3-gimpimageundo.html#gimp-image-undo-group-end" title="gimp_image_undo_group_end ()">gimp_image_undo_group_end</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="libgimp3-gimpimageundo.html#gimp-image-undo-is-enabled" title="gimp_image_undo_is_enabled ()">gimp_image_undo_is_enabled</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="libgimp3-gimpimageundo.html#gimp-image-undo-disable" title="gimp_image_undo_disable ()">gimp_image_undo_disable</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="libgimp3-gimpimageundo.html#gimp-image-undo-enable" title="gimp_image_undo_enable ()">gimp_image_undo_enable</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="libgimp3-gimpimageundo.html#gimp-image-undo-freeze" title="gimp_image_undo_freeze ()">gimp_image_undo_freeze</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="libgimp3-gimpimageundo.html#gimp-image-undo-thaw" title="gimp_image_undo_thaw ()">gimp_image_undo_thaw</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="libgimp3-gimpimageundo.description"></a><h2>Description</h2>
<p>Control of image undo/redo.</p>
</div>
<div class="refsect1">
<a name="libgimp3-gimpimageundo.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="gimp-image-undo-group-start"></a><h3>gimp_image_undo_group_start ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gimp_image_undo_group_start (<em class="parameter"><code><a class="link" href="GimpImage.html" title="gimpimage"><span class="type">GimpImage</span></a> *image</code></em>);</pre>
<p>Starts a group undo.</p>
<p>This function is used to start a group undo--necessary for logically
combining two or more undo operations into a single operation. This
call must be used in conjunction with a <a class="link" href="libgimp3-gimpimageundo.html#gimp-image-undo-group-end" title="gimp_image_undo_group_end ()"><code class="function">gimp_image_undo_group_end()</code></a>
call.</p>
<div class="refsect3">
<a name="gimp-image-undo-group-start.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>image</p></td>
<td class="parameter_description"><p>The ID of the image in which to open an undo group.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gimp-image-undo-group-start.returns"></a><h4>Returns</h4>
<p> TRUE on success.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gimp-image-undo-group-end"></a><h3>gimp_image_undo_group_end ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gimp_image_undo_group_end (<em class="parameter"><code><a class="link" href="GimpImage.html" title="gimpimage"><span class="type">GimpImage</span></a> *image</code></em>);</pre>
<p>Finish a group undo.</p>
<p>This function must be called once for each
<a class="link" href="libgimp3-gimpimageundo.html#gimp-image-undo-group-start" title="gimp_image_undo_group_start ()"><code class="function">gimp_image_undo_group_start()</code></a> call that is made.</p>
<div class="refsect3">
<a name="gimp-image-undo-group-end.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>image</p></td>
<td class="parameter_description"><p>The ID of the image in which to close an undo group.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gimp-image-undo-group-end.returns"></a><h4>Returns</h4>
<p> TRUE on success.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gimp-image-undo-is-enabled"></a><h3>gimp_image_undo_is_enabled ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gimp_image_undo_is_enabled (<em class="parameter"><code><a class="link" href="GimpImage.html" title="gimpimage"><span class="type">GimpImage</span></a> *image</code></em>);</pre>
<p>Check if the image's undo stack is enabled.</p>
<p>This procedure checks if the image's undo stack is currently enabled
or disabled. This is useful when several plug-ins or scripts call
each other and want to check if their caller has already used
<a class="link" href="libgimp3-gimpimageundo.html#gimp-image-undo-disable" title="gimp_image_undo_disable ()"><code class="function">gimp_image_undo_disable()</code></a> or <a class="link" href="libgimp3-gimpimageundo.html#gimp-image-undo-freeze" title="gimp_image_undo_freeze ()"><code class="function">gimp_image_undo_freeze()</code></a>.</p>
<div class="refsect3">
<a name="gimp-image-undo-is-enabled.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>image</p></td>
<td class="parameter_description"><p>The image.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gimp-image-undo-is-enabled.returns"></a><h4>Returns</h4>
<p> TRUE if undo is enabled for this image.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gimp-image-undo-disable"></a><h3>gimp_image_undo_disable ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gimp_image_undo_disable (<em class="parameter"><code><a class="link" href="GimpImage.html" title="gimpimage"><span class="type">GimpImage</span></a> *image</code></em>);</pre>
<p>Disable the image's undo stack.</p>
<p>This procedure disables the image's undo stack, allowing subsequent
operations to ignore their undo steps. This is generally called in
conjunction with <a class="link" href="libgimp3-gimpimageundo.html#gimp-image-undo-enable" title="gimp_image_undo_enable ()"><code class="function">gimp_image_undo_enable()</code></a> to temporarily disable an
image undo stack. This is advantageous because saving undo steps can
be time and memory intensive.</p>
<div class="refsect3">
<a name="gimp-image-undo-disable.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>image</p></td>
<td class="parameter_description"><p>The image.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gimp-image-undo-disable.returns"></a><h4>Returns</h4>
<p> TRUE if the image undo has been disabled.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gimp-image-undo-enable"></a><h3>gimp_image_undo_enable ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gimp_image_undo_enable (<em class="parameter"><code><a class="link" href="GimpImage.html" title="gimpimage"><span class="type">GimpImage</span></a> *image</code></em>);</pre>
<p>Enable the image's undo stack.</p>
<p>This procedure enables the image's undo stack, allowing subsequent
operations to store their undo steps. This is generally called in
conjunction with <a class="link" href="libgimp3-gimpimageundo.html#gimp-image-undo-disable" title="gimp_image_undo_disable ()"><code class="function">gimp_image_undo_disable()</code></a> to temporarily disable an
image undo stack.</p>
<div class="refsect3">
<a name="gimp-image-undo-enable.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>image</p></td>
<td class="parameter_description"><p>The image.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gimp-image-undo-enable.returns"></a><h4>Returns</h4>
<p> TRUE if the image undo has been enabled.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gimp-image-undo-freeze"></a><h3>gimp_image_undo_freeze ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gimp_image_undo_freeze (<em class="parameter"><code><a class="link" href="GimpImage.html" title="gimpimage"><span class="type">GimpImage</span></a> *image</code></em>);</pre>
<p>Freeze the image's undo stack.</p>
<p>This procedure freezes the image's undo stack, allowing subsequent
operations to ignore their undo steps. This is generally called in
conjunction with <a class="link" href="libgimp3-gimpimageundo.html#gimp-image-undo-thaw" title="gimp_image_undo_thaw ()"><code class="function">gimp_image_undo_thaw()</code></a> to temporarily disable an
image undo stack. This is advantageous because saving undo steps can
be time and memory intensive. <a class="link" href="libgimp3-gimpimageundo.html#gimp-image-undo-freeze" title="gimp_image_undo_freeze ()"><code class="function">gimp_image_undo_freeze()</code></a> /
<a class="link" href="libgimp3-gimpimageundo.html#gimp-image-undo-thaw" title="gimp_image_undo_thaw ()"><code class="function">gimp_image_undo_thaw()</code></a> and <a class="link" href="libgimp3-gimpimageundo.html#gimp-image-undo-disable" title="gimp_image_undo_disable ()"><code class="function">gimp_image_undo_disable()</code></a> /
<a class="link" href="libgimp3-gimpimageundo.html#gimp-image-undo-enable" title="gimp_image_undo_enable ()"><code class="function">gimp_image_undo_enable()</code></a> differ in that the former does not free up
all undo steps when undo is thawed, so is more suited to interactive
in-situ previews. It is important in this case that the image is
back to the same state it was frozen in before thawing, else 'undo'
behaviour is undefined.</p>
<div class="refsect3">
<a name="gimp-image-undo-freeze.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>image</p></td>
<td class="parameter_description"><p>The image.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gimp-image-undo-freeze.returns"></a><h4>Returns</h4>
<p> TRUE if the image undo has been frozen.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gimp-image-undo-thaw"></a><h3>gimp_image_undo_thaw ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gimp_image_undo_thaw (<em class="parameter"><code><a class="link" href="GimpImage.html" title="gimpimage"><span class="type">GimpImage</span></a> *image</code></em>);</pre>
<p>Thaw the image's undo stack.</p>
<p>This procedure thaws the image's undo stack, allowing subsequent
operations to store their undo steps. This is generally called in
conjunction with <a class="link" href="libgimp3-gimpimageundo.html#gimp-image-undo-freeze" title="gimp_image_undo_freeze ()"><code class="function">gimp_image_undo_freeze()</code></a> to temporarily freeze an
image undo stack. <a class="link" href="libgimp3-gimpimageundo.html#gimp-image-undo-thaw" title="gimp_image_undo_thaw ()"><code class="function">gimp_image_undo_thaw()</code></a> does NOT free the undo
stack as <a class="link" href="libgimp3-gimpimageundo.html#gimp-image-undo-enable" title="gimp_image_undo_enable ()"><code class="function">gimp_image_undo_enable()</code></a> does, so is suited for situations
where one wishes to leave the undo stack in the same state in which
one found it despite non-destructively playing with the image in the
meantime. An example would be in-situ plug-in previews. Balancing
freezes and thaws and ensuring image consistency is the
responsibility of the caller.</p>
<div class="refsect3">
<a name="gimp-image-undo-thaw.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>image</p></td>
<td class="parameter_description"><p>The image.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gimp-image-undo-thaw.returns"></a><h4>Returns</h4>
<p> TRUE if the image undo has been thawed.</p>
</div>
</div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.33.0</div>
</body>
</html>